﻿//******************************************************************
// Copyright (C) 2012 山东微分电子科技有限公司   版权所有。
// 文件名：
// 文件功能描述：
//创建标识： 
// 调用：
//被调用：
//----------------修订----------------------------------------------
// 修改标识：
// 修改内容描述：
//修改者：                   日期：
// 修改标识：
// 修改描述：
//**********************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net;

namespace jnxceq.Common.Log
{
    /// <summary>
    /// 日志类
    /// </summary>
  public class WFLog
    {
        /// <summary>
        /// 是否打印日志信息，true 打印，false 不打印
        /// </summary>
        static bool boolDebug = true;

        /// <summary>
        /// 默认的log4net打印日志变量，前提是需要在log4net的配置文件中定义一个logger:“Main”
        /// </summary>
        static log4net.ILog logDefault = log4net.LogManager.GetLogger("Main");

        /// <summary>
        /// 默认打印，使用默认的打印日志变量
        /// </summary>
        /// <param name="objectMessage">要打印的日志内容</param>
        public static void Write(object objectMessage) 
        {
            try
            {
                if (boolDebug)
                {
                    logDefault.Debug(objectMessage);
                }
            }
            catch (Exception e)
            {

                Console.WriteLine("WFLog: 异常 " + e.Message.ToString() + e.ToString());
            }
        }
        /// <summary>
        /// 默认打印，使用默认的打印日志变量
        /// </summary>
        /// <param name="objectMessage">要打印的日志内容</param>
        /// <param name="exception"></param>
        public static void Write(object objectMessage, Exception exception)
        {
            try
            {
                if (boolDebug)
                {
                    logDefault.Debug(objectMessage, exception);
                }
            }
            catch (Exception e)
            {

                Console.WriteLine("WFLog: 异常 " + e.Message.ToString() + e.ToString());
            }
        }

        /// <summary>
        /// 特殊打印日志，需要使用者创建打印日志变量
        /// </summary>
        /// <param name="logSpecial">使用者创建的打印日志变量</param>
        /// <param name="objectMessage">要打印的内容</param>
        /// <param name="exception"></param>
        public static void Write(log4net.ILog logSpecial, object objectMessage, Exception exception)
        {
            try
            {
                if (logSpecial == null)
                {
                    return;
                }

                if (boolDebug)
                {
                    logSpecial.Debug(objectMessage, exception);
                }
            }
            catch (Exception e)
            {

                Console.WriteLine("WFLog: 异常 " + e.Message.ToString() + e.ToString());
            }
        }
        /// <summary>
        /// 特殊打印日志，需要使用者创建打印日志变量
        /// </summary>
        /// <param name="logSpecial">使用者创建的打印日志变量</param>
        /// <param name="objectMessage">要打印的内容</param>
        public static void Write(log4net.ILog logSpecial, object objectMessage)
        {
            try
            {
                if (logSpecial == null)
                {
                    return;
                }

                if (boolDebug)
                {
                    logSpecial.Debug(objectMessage);
                }
            }
            catch (Exception e)
            {

                Console.WriteLine("WFLog: 异常 " + e.Message.ToString() + e.ToString());
            }
        }
    }
}
